runtime.schedt.nmspinning (field)
16 uses
runtime (current package)
mgcpacer.go#L716: if sched.npidle.Load() != 0 && sched.nmspinning.Load() == 0 {
proc.go#L1072: sched.nmspinning.Add(1)
proc.go#L3157: if sched.nmspinning.Load()+sched.npidle.Load() == 0 && sched.nmspinning.CompareAndSwap(0, 1) { // TODO: fast atomic
proc.go#L3220: if sched.nmspinning.Load() != 0 || !sched.nmspinning.CompareAndSwap(0, 1) {
proc.go#L3235: if sched.nmspinning.Add(-1) < 0 {
proc.go#L3311: if sched.nmspinning.Add(-1) < 0 {
proc.go#L3505: if mp.spinning || 2*sched.nmspinning.Load() < gomaxprocs-sched.npidle.Load() {
proc.go#L3649: if sched.nmspinning.Add(-1) < 0 {
proc.go#L4015: nmspinning := sched.nmspinning.Add(-1)
proc.go#L6190: sched.nmspinning.Add(1)
proc.go#L6437: if runqempty(pp) && sched.nmspinning.Load()+sched.npidle.Load() > 0 && pd.syscallwhen+10*1000*1000 > now {
proc.go#L6531: print("SCHED ", (now-starttime)/1e6, "ms: gomaxprocs=", gomaxprocs, " idleprocs=", sched.npidle.Load(), " threads=", mcount(), " spinningthreads=", sched.nmspinning.Load(), " needspinning=", sched.needspinning.Load(), " idlethreads=", sched.nmidle, " runqueue=", sched.runq.size)
proc.go#L7511: if i >= active_spin || numCPUStartup <= 1 || gomaxprocs <= sched.npidle.Load()+sched.nmspinning.Load()+1 {
runtime2.go#L792: nmspinning atomic.Int32 // See "Worker thread parking/unparking" comment in proc.go.